home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / gcc / ixemsdk.lha / include / sys / unix_socket.h < prev    next >
C/C++ Source or Header  |  1996-01-26  |  2KB  |  54 lines

  1. /*
  2.  *  This file is part of ixemul.library for the Amiga.
  3.  *  Copyright (C) 1995 Jeff Shepherd
  4.  *
  5.  *  This library is free software; you can redistribute it and/or
  6.  *  modify it under the terms of the GNU Library General Public
  7.  *  License as published by the Free Software Foundation; either
  8.  *  version 2 of the License, or (at your option) any later version.
  9.  *
  10.  *  This library is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  *  Library General Public License for more details.
  14.  *
  15.  *  You should have received a copy of the GNU Library General Public
  16.  *  License along with this library; if not, write to the Free
  17.  *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19.  
  20. #include <exec/ports.h>
  21. #include <limits.h>
  22. struct unix_socket {
  23.     struct MsgPort *connport; /* port to accept connections */
  24.     struct MsgPort *recvport; /* receive data port */
  25.     struct MsgPort *sendport; /* send data port */
  26.     struct MsgPort *replyport; /* port to get receipts of writes */
  27.     struct MsgPort *listenport; /* only set if socket was created with accept() */
  28.  
  29.     int so_options;          /* options (set by ioctl()) */
  30.     int ss_options;          /* other options */
  31.  
  32.     char *readbuf;          /* read buffer */
  33.     int readptr;          /* pointer into read buffer */
  34.     int readbuflen;          /* buffer length */
  35.  
  36.     int protocol;          /* from socket() */
  37.     int type;              /* from socket() */
  38. };
  39.  
  40. struct ConnectMsg {
  41.     struct Message msg;
  42.     struct MsgPort *dataport; /* msgport on the other side */
  43. };
  44.  
  45. struct DataMsg {
  46.     struct Message msg;
  47.     char *data;
  48.     int length;
  49. };
  50.  
  51. #define PORTNAME "ixport%d" /* sprintf() string for port name */
  52. #define MAX_PORTS (UINT_MAX)
  53.  
  54.